package com.vecspace.utils.log;

public interface ILogClient {
public boolean isInited();
	
	/**
	 * 
	 * @param tenantId
	 * @param loginId
	 * @param userName
	 * @param deviceType 
	 * @author: wanghua
	 */
	public void logLogonInfo(String loginId, String userName, DeviceTypeEnum deviceType);
	
	/**
	 * @param tenantId 租户id
	 * @param urlType  自定义类型
	 * @param loginId
	 * @param funCode url功能编码
	 * @param reqMills url请求的执行时间
	 * @param sqlCount url请求中执行的sql的条数
	 * @param resultRows url请求中执行sql返回的记录行数
	 * @param sqlMills url请求中执行sql耗费的时间
	 * @param deviceType 访问设备类型
	 * @author: wanghua
	 */
	public void logUrlRequest(String urlType, String loginId, String funCode, String funName, int reqMills, int sqlCount, int resultRows, int sqlMills);

	/**
	 * 
	 * @param funCode 当前功能编码
	 * @param sqlText sql语句
	 * @param mills 影响的数据行数
	 * @param rows 执行SQL的时间（毫秒）
	 * @author: wanghua
	 */
	public void logSqlResult(String funCode, String sqlText, int mills, int rows);
	
	/**添加一个错误日志
	 * 
	 * @param funCode 当前功能编码
	 * @param errorCode 错误码
	 * @param logmsg 错误信息
	 * @param loginId 
	 * @author: wanghua
	 */
	public void logError(String funCode, String errorCode, String logmsg, String loginId);
	
	/**系统占用服务器资源日志
	 * 
	 * @param serverPort 应用程序的端口
	 * @param phyMemSize 物理内存（MB）
	 * @param memUsed 占用的内存（MB）
	 * @param cpuUseRatio CPU总的使用率，0~1
	 * @param appCpuAvgUseRatio 应用程序占用的CPU百分比，0~1
	 * @param cpuCores CPU核心数
	 * @author: wanghua
	 */
	public void logProcessRes(int phyMemSize, int memUsed, double cpuUseRatio, double appCpuAvgUseRatio, int cpuCores);
}
